/**
 * 配置模块
 * 提供应用程序的配置信息
 */

// 系统监控配置
const systemMonitor = {
    // 更新间隔（毫秒）
    updateInterval: 10000,
    // 刷新按钮动画持续时间（毫秒）
    refreshAnimationDuration: 1000,
    // 是否显示CPU温度
    showCpuTemperature: true,
    // 是否显示GPU信息
    showGpuInfo: true,
    // 历史数据点数量
    historyDataPoints: 60,
    // 进度条颜色配置
    progressBarColors: {
        low: '#2ecc71',    // 低负载 - 绿色
        medium: '#f39c12', // 中等负载 - 橙色
        high: '#e74c3c',   // 高负载 - 红色
        none: '#cccccc'    // 无数据 - 灰色
    },
    // 负载阈值
    loadThresholds: {
        medium: 60, // 中等负载阈值
        high: 80    // 高负载阈值
    }
};

// 时间管理配置
const timeManagement = {
    // 番茄钟默认时长（分钟）
    defaultPomodoroTime: 25,
    // 短休息时长（分钟）
    shortBreakTime: 5,
    // 长休息时长（分钟）
    longBreakTime: 15,
    // 长休息间隔（番茄钟数量）
    longBreakInterval: 4
};

// 快速应用配置
const quickApps = {
    // 最大应用数量
    maxApps: 12,
    // 应用图标大小
    iconSize: 48
};

// 窗口配置
const window = {
    // 主窗口宽度
    width: 1200,
    // 主窗口高度
    height: 800,
    // 最小宽度
    minWidth: 800,
    // 最小高度
    minHeight: 600,
    // 是否显示在任务栏
    skipTaskbar: false,
    // 启动时最大化
    startMaximized: false
};

/**
 * 加载配置
 * 
 * 该函数负责加载应用程序的完整配置
 * 未来可以从文件或数据库中加载用户自定义配置
 * 
 * @returns {Object} 返回完整的配置对象
 */
function loadConfig() {
    // 目前直接返回内存中的配置
    // 未来可以从文件或数据库中加载用户自定义配置
    return {
        systemMonitor,
        timeManagement,
        quickApps,
        window
    };
}

// 导出配置
module.exports = {
    systemMonitor,
    timeManagement,
    quickApps,
    window,
    loadConfig
};